home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C++ / Applications / Lookup 1.0d2 / Includes / CEntry.h < prev    next >
Encoding:
Text File  |  1995-09-03  |  1.3 KB  |  56 lines  |  [TEXT/CWIE]

  1. //
  2. //    CEntry
  3. //
  4.  
  5. #pragma once
  6.  
  7. #include "CString.h"
  8.  
  9. class istream;
  10. class ostream;
  11.  
  12. class CEntry : public LModelObject
  13. {
  14. public:
  15.     enum {
  16.         kModelID = 'ENTR'
  17.     };
  18.  
  19.     enum {
  20.         kFieldCount = 4,
  21.         kMaximumFieldLength = 255
  22.     };
  23.  
  24.     CEntry(LModelObject * inSuperModel = nil);
  25.     CEntry(const CEntry &);
  26.     CEntry & operator = (const CEntry &);
  27.     ~CEntry();
  28.     
  29.     const CString & GetField(UInt16) const;
  30.     void SetField(UInt16, const CString &);
  31.  
  32.     virtual void     GetAEProperty(DescType inProperty, const AEDesc & inRequestedType,
  33.                         AEDesc & outPropertyDesc) const;
  34.     virtual void    SetAEProperty(DescType inProperty, const AEDesc & inValue,
  35.                         AEDesc & outAEReply);
  36.     virtual void    GetImportantAEProperties(AERecord & outRecord);
  37.     virtual void    GetDifferentAEProperties(const CEntry & inCompare, AERecord & outRecord) const;
  38.     virtual const StringPtr GetModelNamePtr() const;
  39.  
  40.     virtual void  HandleDelete(AppleEvent & outAEReply, AEDesc & outResult);
  41.         // Handles the delete method by telling the document to delete this object.
  42.     
  43. private:
  44.     static const char kFieldSeparator;    // = '\t'
  45.     static const char kEntrySeparator;    // = '\n'
  46.     
  47.     static const DescType kFieldProperties[kFieldCount];
  48.     
  49.     CString    mField[kFieldCount];
  50.  
  51.     friend ostream & operator << (ostream & stream, CEntry const & rec);
  52.     friend istream & operator >> (istream & stream, CEntry & rec);
  53. };
  54.  
  55. extern const CEntry sEmptyEntry;
  56.